<?php declare(strict_types=1);
/**
 * @author      xianganyall <xianganyall@gmail.com>
 * @copyright   2023-2025 owner
 **/

namespace Srv\Conf\ConfModel;

use Srv\Libs\ConfModel\ConfAbstract;

final class PayAlipayConf extends ConfAbstract
{
    public const PREFIX                         = 'PAYAL.';     // 配置前缀[必定点结尾]
    private string $groupName                   = '';           // 分组名
    protected string $logPath                   = '';           // 日志路径
    protected string $appId                     = '';           // appId
    protected string $accountId                 = '';           // accountId
    protected string $account                   = '';           // account
    protected string $expireTime                = '';           // expireTime
    protected string $notifyUrl                 = '';           // notifyUrl
    protected string $privateFile               = '';           // privateFile
    protected string $publicFile                = '';           // publicFile
    protected string $alipayPublicFile          = '';           // alipayPublicFile

    /**
     * @param array $confData
     * @param string $groupName
     */
    public function __construct(array $confData, string $groupName)
    {
        $this->init($confData);
        $this->groupName = $groupName;
    }

    /**
     * @return string
     */
    public function getGroupName(): string
    {
        return $this->groupName;
    }

    /**
     * @return string
     */
    public function getLogPath(): string
    {
        return $this->logPath;
    }

    /**
     * @return string
     */
    public function getAppId(): string
    {
        return $this->appId;
    }

    /**
     * @return string
     */
    public function getAccountId(): string
    {
        return $this->accountId;
    }

    /**
     * @return string
     */
    public function getAccount(): string
    {
        return $this->account;
    }

    /**
     * @return string
     */
    public function getExpireTime(): string
    {
        return $this->expireTime;
    }

    /**
     * @return string
     */
    public function getNotifyUrl(): string
    {
        return $this->notifyUrl;
    }

    /**
     * @return string
     */
    public function getPrivateFile(): string
    {
        return $this->privateFile;
    }

    /**
     * @return string
     */
    public function getPublicFile(): string
    {
        return $this->publicFile;
    }

    /**
     * @return string
     */
    public function getAlipayPublicFile(): string
    {
        return $this->alipayPublicFile;
    }
}